# -*- coding: utf-8 -*-

# @Time : 2018/7/31 10:34
# @Author ：Hcy
# @Email : 297420160@qq.com
# @File : 03-类的声明.py
# @Software : PyCharm


"""
类的声明：
class 类名（父类）：
    属性
    方法
class： python中声明类的关键字
类名：标识符，类名的首字母要大写，驼峰式命名
（）：类要继承自其它的类，需要写括号，括号里面是父类的名字。可以省略
属性：对象属性和类的字段 --- 保存数据
方法：实质就是在类中的函数 --- 实现功能

"""
#1. 声明类Person
class Person:
    """类的说明：人类"""

    # 声明两个对象方法，需要使用对象来调用
    """
    对象方法默认都有一个参数self，在调用方法的时候偶，这个参数不用传参（系统会自动给self传参）
    谁来调用这个方法，self就是谁
    """
    def eat(self):
        print('self:', self)
        print('在吃饭')

    def sleep(self):
        print('在睡觉')


"""
声明对象：
通过类的构造方法去创建对象（名字和类名同名的方法就是构造方法，自动生成的）
对象名 =类名（）

类的对象可以通过点语法使用类中声明的对象的方法和属性
对象.方法名()
对象.属性名
"""

if __name__ == '__main__':
    # 2.声明对象
    p1 = Person()
    print(p1)

    # 一个类可以有多个对象
    p2 = Person()
    print(p2)

    p1.eat()
    p2.eat()
    p1.sleep()
    p2.sleep()